package com.qi.demo01.JMM;

import java.util.concurrent.TimeUnit;

/**
 * @author zjq
 * @date 2020/3/30 15:00
 */
public class VolatileDemo {
    //不加Volatile程序就会死循环，因为num对内存总num=1的变化是不知道的
    //加上Volatile，可以保持程序的可见性。
    private volatile static int num = 0;


    public static void main(String[] args) throws InterruptedException {
        new Thread(() -> {//此时线程1对内存的变化是不知道的
            while (num == 0) {

            }
        }).start();

        TimeUnit.SECONDS.sleep(2);

        num = 1;
        System.out.println(num);

    }
}
